1. Field of the Invention
The present invention is directed to computer software development and communications between computer systems. More specifically, the present invention is directed to enterprise component-based software development and to platform and architecture independent communications between disparate computer systems based thereon.
2. Background of the Related Art
The Internet has opened up the world as a single marketplace where organizations of all sizes can do business and compete. Organizations across the globe are racing to capitalize on the opportunities and increase their competitive advantage using this emergent technology. Recently, enterprise computing has been faced with ever-growing challenges now that many businesses are entering the e-commerce arena and a network economy in which transactions and information are exchanged not just inside their own enterprise, but also between enterprises in business-to-business (B2B) transactions. The architectures once defined and distinct to the enterprise and between defined enterprises are now extended to a higher level. Applications and the business functionality they encapsulate are now being offered as enterprise components within inter-enterprise business processes that connect suppliers, customers, and partners through the Internet.
The evolution of extended enterprises and virtual enterprises precludes a reliance on homogenous environments and proprietary Application Program Interfaces (APIs). Companies have to absorb an array of differing hardware and software solutions while maintaining open integration avenues. B2B applications require infrastructure that is capable of transacting against a diverse set of software and hardware and through different integration technologies.
Nearly all enterprise systems today are transactional in nature. That is, enterprise systems define functionality in terms of sets of operations, where all the operations need to succeed or fail together as a concise unit of work. Enterprise components need to be de-coupled from any specific context in which they are used, including the transactional context, but also need to maintain the ability to enroll in transactions that may start and end outside their boundaries.
Enterprises have made use of transaction processing (TP) monitors for inter-enterprise transactional integration, but their reliance on proprietary communication protocols make managing transactions that span multiple enterprises difficult at best. Managing transactions for the extended enterprise or B2B using the Web becomes an even more daunting task.
Enterprise components in most cases encapsulate or grant access to company-sensitive information and as such need to be able to authenticate the identity of users, control user access to particular services, and provide irrefutable evidence of their involvement in a transaction (non-repudiation). Collaboration between enterprise components requires security measures that support public-key security infrastructure, such as SSL, and integration to existing enterprise security infrastructure to ensure seamless, end-to-end security. Firewalls have provided a way for enterprises to protect their information and systems, but for the extended enterprise and virtual enterprise, firewalls get in the way.
What is needed is a component-oriented framework analogous to the application framework. The framework needs to offer the flexibility of defining a standard application development model which is agnostic to the current set of middleware component models, while structuring such flexibility in ways that deliver a consistent development model and roadmap for the development of business applications that combine components and services from the disparate environments.